package sistemaAcademico.interfaceUsuario.PessoaMVC.controle;

import java.util.ArrayList;

import sistemaAcademico.interfaceUsuario.CursoMVC.excecao.CursoSemCodigoException;
import sistemaAcademico.interfaceUsuario.CursoMVC.view.CursoView;
import sistemaAcademico.interfaceUsuario.PessoaMVC.excecao.PessoaNaoEncontradaException;
import sistemaAcademico.interfaceUsuario.PessoaMVC.excecao.PessoaSemCpfException;
import sistemaAcademico.interfaceUsuario.PessoaMVC.view.PessoaView;
import sistemaAcademico.negocio.Curso;
import sistemaAcademico.negocio.Pessoa;

public class PessoaControlador {
	
	public static void carregar(PessoaView view) throws PessoaSemCpfException, PessoaNaoEncontradaException {
		Pessoa p = view.getPessoa();
		if (p.getCpf().equals(" "))
			throw new PessoaSemCpfException();
		else {
			p = new Pessoa(p.getCpf());
			if (p.getNome() == null)
				throw new PessoaNaoEncontradaException();
			else
				view.setPessoa(p);			
		}
	}
	
	public static void salvar(PessoaView view) throws PessoaSemCpfException {
		Pessoa p = view.getPessoa();
		if (!p.getCpf().equals(" "))			
			p.salvar();
		else
			throw new PessoaSemCpfException();
	}
	
	//Nao sei se eh necessario
		public static void update(PessoaView view) throws PessoaSemCpfException {
			Pessoa p = view.getPessoa();
			if (!p.getCpf().equals(" "))
				p.update();
			else
				throw new PessoaSemCpfException();
		}
	
	public static void remover(PessoaView view) throws PessoaSemCpfException {
		Pessoa p = view.getPessoa();
		if (!p.getCpf().equals(" "))			
			p.remover();
		else
			throw new PessoaSemCpfException();
	}
	
	public static String[][] getMatrizPessoa() {
		ArrayList<Pessoa> pessoas = Pessoa.getLista();
		
		String[][] matriz = new String[pessoas.size()][8];
		
		int i = 0;
		for (Pessoa p : pessoas) {
			matriz[i][0] = p.getCpf();
			matriz[i][1] = p.getNome();
			matriz[i][2] = p.getDataNascimento();
			matriz[i][3] = String.valueOf(p.getSexo());
			matriz[i][4] = p.getIdentidade();
			matriz[i][5] = p.getEndereco();
			matriz[i][6] = p.getTelefone();
			matriz[i][7] = p.getEmail();
			
			i++;
		}
		
		return matriz;
	}
}
